memset (&item, 0, sizeof (RenderItem));
- scale_factor = gsk_renderer_get_scale_factor (GSK_RENDERER (self));
- if (scale_factor < 1)
+ if (gsk_renderer_get_window (GSK_RENDERER (self)))
+ scale_factor = gdk_window_get_scale_factor (gsk_renderer_get_window (GSK_RENDERER (self)));
+ else
scale_factor = 1;
item.node = node;
GdkDrawingContext *context = gsk_renderer_get_drawing_context (GSK_RENDERER (self));
GdkWindow *window = gsk_renderer_get_window (GSK_RENDERER (self));
GdkRectangle extents;
- int scale_factor = gsk_renderer_get_scale_factor (GSK_RENDERER (self));
+ int scale_factor = gdk_window_get_scale_factor (window);
cairo_region_get_extents (gdk_drawing_context_get_clip (context), &extents);
gdk_gl_context_make_current (self->gl_context);
gsk_renderer_get_viewport (renderer, &viewport);
- scale_factor = gsk_renderer_get_scale_factor (renderer);
+ scale_factor = gdk_window_get_scale_factor (gsk_renderer_get_window (renderer));
gsk_gl_renderer_do_render (renderer, root, &viewport, scale_factor);
GskProfiler *profiler;
- int scale_factor;
-
gboolean is_realized : 1;
} GskRendererPrivate;
enum {
PROP_VIEWPORT = 1,
- PROP_SCALE_FACTOR,
PROP_WINDOW,
PROP_DISPLAY,
PROP_DRAWING_CONTEXT,
int height)
{
GskRendererPrivate *priv = gsk_renderer_get_instance_private (self);
- int scale_factor = priv->scale_factor > 0 ? priv->scale_factor : 1;
+ int scale_factor = priv->window ? gdk_window_get_scale_factor (priv->window) : 1;
int real_width = width * scale_factor;
int real_height = height * scale_factor;
gsk_renderer_set_viewport (self, g_value_get_boxed (value));
break;
- case PROP_SCALE_FACTOR:
- gsk_renderer_set_scale_factor (self, g_value_get_int (value));
- break;
-
case PROP_DISPLAY:
/* Construct-only */
priv->display = g_value_dup_object (value);
g_value_set_boxed (value, &priv->viewport);
break;
- case PROP_SCALE_FACTOR:
- g_value_set_int (value, priv->scale_factor);
- break;
-
case PROP_WINDOW:
g_value_set_object (value, priv->window);
break;
G_PARAM_READABLE |
G_PARAM_STATIC_STRINGS);
- /**
- * GskRenderer:scale-factor:
- *
- * The scale factor used when rendering.
- *
- * Since: 3.90
- */
- gsk_renderer_properties[PROP_SCALE_FACTOR] =
- g_param_spec_int ("scale-factor",
- "Scale Factor",
- "The scaling factor of the renderer",
- 1, G_MAXINT,
- 1,
- G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS |
- G_PARAM_EXPLICIT_NOTIFY);
-
/**
* GskRenderer:drawing-context:
*
GskRendererPrivate *priv = gsk_renderer_get_instance_private (self);
priv->profiler = gsk_profiler_new ();
-
- priv->scale_factor = 1;
}
/**
graphene_rect_init_from_rect (viewport, &priv->viewport);
}
-/**
- * gsk_renderer_set_scale_factor:
- * @renderer: a #GskRenderer
- * @scale_factor: the new scale factor
- *
- * Sets the scale factor for the renderer.
- *
- * Since: 3.90
- */
-void
-gsk_renderer_set_scale_factor (GskRenderer *renderer,
- int scale_factor)
-{
- GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
-
- g_return_if_fail (GSK_IS_RENDERER (renderer));
-
- if (priv->scale_factor != scale_factor)
- {
- priv->scale_factor = scale_factor;
-
- g_object_notify_by_pspec (G_OBJECT (renderer), gsk_renderer_properties[PROP_SCALE_FACTOR]);
- }
-}
-
-/**
- * gsk_renderer_get_scale_factor:
- * @renderer: a #GskRenderer
- *
- * Gets the scale factor for the @renderer.
- *
- * Returns: the scale factor
- *
- * Since: 3.90
- */
-int
-gsk_renderer_get_scale_factor (GskRenderer *renderer)
-{
- GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
-
- g_return_val_if_fail (GSK_IS_RENDERER (renderer), 1);
-
- return priv->scale_factor;
-}
-
/**
* gsk_renderer_get_window:
* @renderer: a #GskRenderer
gtk_widget_set_realized (widget, TRUE);
if (priv->renderer == NULL)
- {
- priv->renderer = gsk_renderer_new_for_window (gdk_window);
- gsk_renderer_set_scale_factor (priv->renderer, gtk_widget_get_scale_factor (widget));
- }
+ priv->renderer = gsk_renderer_new_for_window (gdk_window);
if (priv->transient_parent &&
_gtk_widget_get_realized (GTK_WIDGET (priv->transient_parent)))
if (priv->renderer != NULL)
{
graphene_rect_t viewport;
- int scale;
-
- scale = gtk_widget_get_scale_factor (widget);
- gsk_renderer_set_scale_factor (priv->renderer, scale);
graphene_rect_init (&viewport, 0, 0, allocation->width, allocation->height);
gsk_renderer_set_viewport (priv->renderer, &viewport);